package com.stellar.auth.controller.admin.authRole.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.stellar.core.util.DateFormatConstants;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;


/**
 * 角色表基础视图对象
 *
 * @author Jqchan
 * @since 2025-05-16
 */
@Data
public class AuthRoleBaseVO implements Serializable {
    private static final long serialVersionUID = -30520389316330832L;

    /**
     * 主键
     * (数据库字段: id)
     */
    private Long id;

    /**
     * 角色名称（如 super_admin-超级管理员、school_admin学校管理员、normal_user普通用户））
     * (数据库字段: role_name)
     */
    private String roleName;

    /**
     * 角色唯一标识
     * (数据库字段: role_key)
     */
    private String roleKey;

    /**
     * 状态 disabled-禁用 enabled-启用
     * (数据库字段: role_status)
     */
    private String roleStatus;

    /**
     * 创建者
     * (数据库字段: created_by)
     */
    private String createdBy;

    /**
     * 创建时间
     * (数据库字段: created_time)
     */
    @JsonFormat(pattern = DateFormatConstants.DATETIME_FORMAT_YYYY_MM_DD_HH_MM_SS, timezone = DateFormatConstants.TIME_ZONE_GMT_PLUS_8)
    private Date createdTime;

    /**
     * 更新者
     * (数据库字段: update_by)
     */
    private String updateBy;

    /**
     * 更新时间
     * (数据库字段: update_time)
     */
    @JsonFormat(pattern = DateFormatConstants.DATETIME_FORMAT_YYYY_MM_DD_HH_MM_SS, timezone = DateFormatConstants.TIME_ZONE_GMT_PLUS_8)
    private Date updateTime;

    /**
     * 是否删除：1-删除/0-未删除
     * (数据库字段: is_deleted)
     */
    private Integer isDeleted;

}
